package cn.wei.youvie.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 菜单表
 * @TableName menus
 */
@TableName(value ="menus")
@Data
public class Menu implements Serializable {
    /**
     * 唯一标识符
     */
    @TableId(value = "menu_id", type = IdType.AUTO)
    private Integer menuId;

    /**
     * 父级菜单项的 ID
     */
    @TableField(value = "parent_menu_id")
    private Integer parentMenuId;

    /**
     * 菜单项的名称
     */
    @TableField(value = "name")
    private String name;

    /**
     * 菜单项的详细描述
     */
    @TableField(value = "description")
    private String description;

    /**
     * 菜单项的详细描述
     */
    @TableField(value = "component")
    private String component;

    /**
     * 菜单项的可用用户id
     */
    @TableField(value = "users")
    private String users;

    /**
     * 菜单项的可用角色id
     */
    @TableField(value = "roles")
    private String roles;

    /**
     * 菜单项的链接
     */
    @TableField(value = "route_path")
    private String routePath;

    /**
     * 菜单项的图标
     */
    @TableField(value = "icon")
    private String icon;

    /**
     * 菜单项的排序顺序
     */
    @TableField(value = "seque")
    private Integer seque;

    /**
     * 是否启用
     */
    @TableField(value = "is_active")
    private Integer isActive;

    /**
     * 创建时间
     */
    @TableField(value = "created_at")
    private Date createdAt;

    /**
     * 最后更新时间
     */
    @TableField(value = "updated_at")
    private Date updatedAt;

    /**
     * 是否删除
     */
    @TableField(value = "is_delete")
    private Integer isDelete;

    @Serial
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

}